package com.ruoyi.user.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

/**
 * 【请填写功能名称】对象 passenger_user
 *
 * @author ruoyi
 * @date 2024-10-17
 */
@Data
public class PassengerUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    private String id;



    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date gmtCreate;
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date gmtModified;

    @NotBlank(message = "手机号不能为空")
    @Size(min = 11, max = 11, message = "手机号格式错误")
    private String passengerPhone;

    private String passengerName;

    /** 0：未知，1：男，2：女 */
    @Excel(name = "0：未知，1：男，2：女")
    private Integer passengerGender;

    @NotBlank(message = "验证码不能为空")
    private String code;

    /** 0：有效，1：失效 */
    @Excel(name = "0：有效，1：失效")
    private Integer state;

    @NotBlank(message = "未获取到openid")
    private String openid;

    /** 头像图片地址的url */
    @Excel(name = "头像图片地址的url")
    private String profilePhoto;

    private String idCardFront;
    private String idCardAfter;
    private String name;
    private String birthday;
    private String address;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setGmtCreate(Date gmtCreate)
    {
        this.gmtCreate = gmtCreate;
    }

    public Date getGmtCreate()
    {
        return gmtCreate;
    }
    public void setGmtModified(Date gmtModified)
    {
        this.gmtModified = gmtModified;
    }

    public Date getGmtModified()
    {
        return gmtModified;
    }
    public void setPassengerPhone(String passengerPhone)
    {
        this.passengerPhone = passengerPhone;
    }

    public String getPassengerPhone()
    {
        return passengerPhone;
    }
    public void setPassengerName(String passengerName)
    {
        this.passengerName = passengerName;
    }

    public String getPassengerName()
    {
        return passengerName;
    }
    public void setPassengerGender(Integer passengerGender)
    {
        this.passengerGender = passengerGender;
    }

    public Integer getPassengerGender()
    {
        return passengerGender;
    }
    public void setState(Integer state)
    {
        this.state = state;
    }

    public Integer getState()
    {
        return state;
    }
    public void setProfilePhoto(String profilePhoto)
    {
        this.profilePhoto = profilePhoto;
    }

    public String getProfilePhoto()
    {
        return profilePhoto;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("gmtCreate", getGmtCreate())
            .append("gmtModified", getGmtModified())
            .append("passengerPhone", getPassengerPhone())
            .append("passengerName", getPassengerName())
            .append("passengerGender", getPassengerGender())
            .append("state", getState())
            .append("profilePhoto", getProfilePhoto())
            .toString();
    }
}
